﻿#pragma once
#include "PowerFlow_MoInterface.h"

class POWERFLOW_MO CMo2BigDrawingAnimation :
	public CPowerFlow_MoInterface
{
public:
	CMo2BigDrawingAnimation(void);
	~CMo2BigDrawingAnimation(void);

	virtual void OutputDynamicComponentInfo( HBaseView* pHView );

	virtual CString GetActiveLayerMoParams(HBaseView* pHView);
	//sParamsDataֵΪname,type,value,name,type,value,....;
	virtual void UpdatePowerFlowMoParamsValue(HBaseView* pHView,CString sParamsData); 
	virtual bool DisplayPowerFlowAnimation( HBaseView* pHView );
	virtual bool IsDeviceCloseSwitch(HBaseView* pHView,CDeviceDisplayObj* pDevDis);
	virtual bool StopPowerFlowAnimation( HBaseView* pHView );
	virtual CLayer* GetAnimationFlowLayer(HBaseView* pHView);
protected:
	void CreateSchematicBusAnimation(HBaseView* pHView,CLayer* pLayer);
    bool DisplaySchematicLayerAnimation( HBaseView* pHView );
	void CreateAndHideTrackerForSchBus( CSchematicBusDisplayObj* pSchBusDisObj ,HBaseView* pHView);
	bool ResetSchConAndWireText( CSchematicWireDisObj* pSchWireDisObj,CLayer* pLayer );
	void ResetMoSchConAssoVarData(CMoSchematicConnector* pMoSchCon,map<string,double> &mapParamData); 
	CTextDisplayObj* CreateMoSchConDisObjText(CSchematicConnectorDisObj* pSchConDisObj,double dTextSize,double dThread);
	ePowerTrackerShowType GetDirection(bool bIsSystemLayer, CMoSchematicConnector* pStMoSchCon,CMoSchematicConnector* pEndCon);
};

